package com.sgcc.sx.pmos.e_sx_order.contract;

import com.sgcc.sx.pmos.common.base.IView;
import com.sgcc.sx.pmos.common.bean.BaseResponse;
import com.sgcc.sx.pmos.e_sx_order.bean.EnergyByMonthDetailBean;
import com.sgcc.sx.pmos.e_sx_order.bean.IndentBean;
import com.sgcc.sx.pmos.e_sx_order.bean.OrderInfoOfTableBean;
import com.sgcc.sx.pmos.e_sx_order.bean.PackageComparisonPriceDetailBean;
import com.sgcc.sx.pmos.e_sx_order.bean.PackageComparisonSchemeDetailBean;
import com.sgcc.sx.pmos.e_sx_order.bean.PackageInfoBean;
import com.sgcc.sx.pmos.e_sx_order.bean.PackageInfoResAndBargBean;
import com.sgcc.sx.pmos.e_sx_order.bean.PackageInfoResBean;
import com.sgcc.sx.pmos.e_sx_order.bean.PackageOrdersBean;
import com.sgcc.sx.pmos.e_sx_order.bean.PriceDetailBean;
import com.sgcc.sx.pmos.e_sx_order.bean.SchemeResBean;

public class OrderDetailsContract {
    public interface View extends IView {
        /**
         * 约定电量
         *
         * @param response
         */
        void getEnergyByMonthDetail(EnergyByMonthDetailBean response, boolean isFirst);

        /**
         * 约定电量（修改前后数据）
         *
         * @param response
         */
        void queryOrderInfoOfTable(OrderInfoOfTableBean response, String peType);

        /**
         * 合约下拉
         *
         * @param response
         */
        void getPackageOrders(PackageOrdersBean response);

        /**
         * 商品详情（月份）
         *
         * @param response
         */
        void getPackageInfo(PackageInfoBean response);

        /**
         * 订单详情内容补充（对比售电公司数据）
         *
         * @param response
         */
        void packageComparisonPriceDetailTwo(PackageComparisonPriceDetailBean response, boolean isMain);

        /**
         * 电价列表（对比售电公司数据）
         *
         * @param response
         */
        void packageComparisonSchemeDetailTwo(PackageComparisonSchemeDetailBean response, boolean isMain);

        /**
         * 订单详情内容补充（不对比售电公司数据）
         *
         * @param response
         */
        void getPriceDetail(PriceDetailBean response, boolean isMain);

        /**
         * 电价列表（不对比售电公司数据）
         *
         * @param response
         */
        void getSchemeRes(SchemeResBean response, boolean isMain);

        /**
         * 协议下单对比结果
         */
        void getPackageInfoResAndBarg(PackageInfoResAndBargBean response);

        void getPackageInfoRes(PackageInfoResBean response);

        void priceChange(BaseResponse response);

        void cancelBargainSuccess(BaseResponse response);

        void userRejectBargainSuccess(BaseResponse response);

        void relieveContractSuccess(BaseResponse response);

        void rejectPriceChange(BaseResponse response);

        void confirmPriceChange(BaseResponse response);

        void cancelPriceChange(BaseResponse response);

        void cancelPowerChange(BaseResponse response);

        void cancelRelieveContract(BaseResponse response);

        void getContractList(IndentBean response);

        void orderCheckSuccess(String relationId);

        /**
         * 备案补充协议-撤销 返回
         *
         */
        void revokeSupplementContractSuccess(BaseResponse response);


        void cancelOrderSuccess(BaseResponse response);//取消订单

        void applyForBargainSuccess(BaseResponse response);//申请议价

    }

    public interface Presenter {
        void getEnergyByMonthDetail(String relationId, String packageId, boolean isFirst);//约定电量

        void queryOrderInfoOfTable(String relCode, String monthDate, String peType);//约定电量（修改前后数据）

        void getPackageOrders(String relationId);//合约下拉

        void getPackageInfo(String combId, String relationId, String effectiveDate, String invalidDate);//商品详情（月份）

        void packageComparisonPriceDetailTwo(String schemeId, String relationId, boolean isMain);//订单详情内容补充（对比售电公司数据）

        void packageComparisonSchemeDetailTwo(String schemeId, String relationId, boolean isMain);//电价列表（对比售电公司数据）

        void getPriceDetail(String schemeId, String relationId, boolean isMain);//订单详情内容补充（不对比售电公司数据）

        void getSchemeRes(String schemeId, String relationId, boolean isMain);//电价列表（不对比售电公司数据）

        void getPackageInfoResAndBarg(String relationId, String packageId);//协议下单对比结果

        void getPackageInfoRes(String relationId, String packageId);//结果内容（不对比售电公司数据）

        void priceChange(String relationId, String packageId, String monthDate);//电价变更

        void cancelBargain(String relationId);//撤销议价

        void userRejectBargain(String relationId);//驳回议价

        void beforeSubmit(String relationId);//立即确认

        void relieveContract(String relationId);//解除合约

        void rejectPriceChange(String relationId);//电价变更驳回

        void confirmPriceChange(String relationId, String monthDate);//电价变更确认

        void cancelPriceChange(String relationId);//电价变更撤销

        void cancelPowerChange(String relationId);//撤销电量变更

        void getContractList(String relCode, String flag);//订单、合约列表

        void cancelRelieveContract(String relationId);//合约解除撤销

        void revokeSupplementContract(String relationId);//备案补充协议-撤销

        void orderCheck(String relationId, String membersId, String combId, String startDate, String endDate);

        void cancelOrder(String relationId);//取消订单

        void applyForBargain(String relationId);//申请议价

        void beforeSubmit_check(String relationId);//议价立即确认前校验

    }
}
